<?php

namespace Rebecca\RebeccaBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;

/**
 * Rebecca\RebeccaBundle\Entity\Usuarios
 *
 * @ORM\Table(name="usuarios")
 * @ORM\Entity
 */
class Usuarios implements UserInterface {

    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string $nombreUsuario
     *
     * @ORM\Column(name="nombre_usuario", type="string", length=25, nullable=false)
     */
    private $nombreUsuario;

    /**
     * @var string $contrasena
     *
     * @ORM\Column(name="contrasena", type="string", length=50, nullable=false)
     */
    private $contrasena;

    /**
     * @var string $roles
     *
     * @ORM\Column(name="roles_usuario", type="string", length=500, nullable=false)
     */
    private $roles;

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId() {
        return $this->id;
    }

    /**
     * Set nombreUsuario
     *
     * @param string $nombreUsuario
     */
    public function setNombreUsuario($nombreUsuario) {
        $this->nombreUsuario = $nombreUsuario;
    }

    /**
     * Get nombreUsuario
     *
     * @return string 
     */
    public function getNombreUsuario() {
        return $this->nombreUsuario;
    }

    /**
     * Set contrasena
     *
     * @param string $contrasena
     */
    public function setContrasena($contrasena) {
        $this->contrasena = $contrasena;
    }

    /**
     * Get contrasena
     *
     * @return string 
     */
    public function getContrasena() {
        return $this->contrasena;
    }

    /**
     * Set roles
     *
     * @param string $roles
     */
    public function setRolesUsuario($roles) {
        $this->roles = $roles;
    }

    /**
     * Get roles
     *
     * @return string 
     */
    public function getRolesUsuario() {
        return $this->roles;
    }

    public function getRoles() {
        return explode(",", $this->roles);
    }

    public function equals(UserInterface $user) {
        return $this->nombreUsuario == $user->getUsername();
    }

    public function eraseCredentials() {
        
    }

    public function getPassword() {
        return $this->contrasena;
    }

    public function getSalt() {
        return "";
    }

    public function getUsername() {
        return $this->nombreUsuario;
    }
    
    public function setRoles($roles) {
        $this->roles = implode(", ", $roles);
    }
}